﻿using ConsoleApp1306.Classes;

namespace ConsoleApp1306
{
    internal class Program
    {
        private static int[] arr = new int[14]
        {
            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
        };
        static void Main(string[] args)
        {

            //TaskClass1 task = new TaskClass1(TaskClass1.MoneyNominal.m200, 100);
            //Console.WriteLine(task.ToString());    // Узнаем информацию
            //Console.WriteLine(task.SummMoney());    // Узнаем сумму в рублях
            // A2();

            TaskMatrix.Matrix_4();
        }

        // Задача
        // Ввести массив, состоящий из 14 элементов целого типа. Найти количество элементов четных по значению.
        static void A1(int[] array)
        {
            Console.WriteLine("Задача 1");
            int count = 0;
            foreach (int i in array)
            {
                if (i % 2 == 0)
                    count++;
            }
            Console.WriteLine($"Количество четных элементов равно {count}");
        }


        // Ввести массив, состоящий из 12 элементов целого типа. Получить новый
        // массив, заменив значение пятого элемента среднеарифметическим исходного массива.
        static void A2()
        {
            Console.WriteLine("Задача 2");
            int[] arr = RandomIntArray(120);
            double[] arr2 = new double[arr.Length];
            for (int i = 0; i < arr.Length; i++)
            {
                if (i == 4)
                {
                    arr2[i] = arr.Average();
                }
                else
                {
                    arr2[i] = arr[i];
                }
            }
            ArrayDoubleToString(arr2);
        }


        // Задан целочисленный массив, состоящий из 11 элементов. Найти количество элементов,
        // абсолютное значение которых больше среднего арифметического.
        static void A3()
        {
            Console.WriteLine("Задача 3");
            int[] arr = RandomIntArray(11);
            int count = 0;
            foreach (int i in arr)
            {
                if (Math.Abs(i) > arr.Average())
                    count++;
            }
            Console.WriteLine($"Количество элементов, абсолютное значение которых\n больше среднего арифметического  равно {count}");

        }

        // Преобразование целочисленного массива в строку
        static void ArrayIntToString(int[] array)
        {
            string stroka = "";
            foreach (int i in array)
            {
                stroka += i.ToString() + " ";
            }
            Console.WriteLine(stroka);
        }
        static void ArrayDoubleToString(double[] array)
        {
            string stroka = "";
            foreach (double i in array)
            {
                stroka += i.ToString() + " ";
            }
            Console.WriteLine(stroka);
        }


        // Создание целочисленного массива при помощи генератора случайных чисел
        // Входные параметрвы:
        // count - количество чисел в массиве
        // start - начало интервала для генерации чисел (по умолчанию равно 0)
        // end - конец интервала (по умолчанию равно 10)
        static int[] RandomIntArray(int count, int start = 0, int end = 10)
        {
            Random random = new Random();
            int[] array = new int[count];
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = random.Next(start, end + 1);
                Console.WriteLine(array[i]);
            }
            return array;
        }

    }
}
